package cn.qingyun.gis.modules.baogan.service;

import cn.qingyun.gis.modules.baogan.vo.*;
import cn.qingyun.gis.modules.baogan.vo.request.*;
import cn.qingyun.gis.modules.baogan.vo.response.DataResponse;
import cn.qingyun.gis.modules.baogan.vo.response.MicroGridBaseInfoVo;
import cn.qingyun.gis.modules.scenes.entity.PoiScenario;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author guest
 * @since 2024-04-27
 */
public interface IPoiScenarioAdminService extends IService<PoiScenario> {
    /**
     * 管理后台---模糊搜索
     * @param request
     * @return
     */
    List<PoiScenario> selectPoiDateByName(PoiScenarioLikeRequest request);

    /**
     * 绘制边界
     * @param request
     */
    void addBoundary(PolygonRequest request);

    /**
     * 调整边界
     * @param request
     */
    String adjustBoundary(PolygonRequest request) ;

    /**
     * 管理后台---删除边界
     * @param id 面id
     * @param type 场景类型
     * @param protractFlag  0- 路网数据  1- 圈画面  2- 绘制面
     * @return
     */
    String deleteBoundary(String id, String type, Integer protractFlag);

    /**
     * 查询微网格看管划分基本信息
     *
     * @param request
     * @return
     */
    MicroGridBaseInfoVo selectMicroGridBaseInfo(MicroGridCodeRequest request);


    /**
     * 查询点面数据
     * @param request
     * @return
     */
    List<DataResponse> selectPoiAndPolygonData(DataQueryRequest request);

    /**
     * 查询微网格下的点面数据
     * @param request
     * @return
     */
    List<DataResponse> selectPoiAndPolygonMicroData(MicroDataRequest request);

    /**
     * 复制边界
     */
    Boolean copyBoundary(PolygonRequest request);

    /**
     * 查询重复的面
     * @param request
     * @return
     */
    List<DataResponse> selectRepeatPolygonData(RepeatPolygonRequest request);

}
